﻿using System.Diagnostics;
using System.Windows;

namespace 职责链模式
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    /// 请假这个事情，相信每个人都不陌生。
    ///我们公司是个相对很宽松的公司。
    ///在公司里，如果你的请假时间小于0.5天，那么只需要向项目经理打声招呼就OK了。
    ///如果超过了0.5天，但是还小于2天，那么就要去找人事部处理，当然，这就要扣工资了。
    ///如果超过了2天，你就需要去找总经理了，工资当然也玩完了。
    ///那么，对于我们来说，这个流程就是这样的。
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            var request = new Request(3, "非正当理由");
            Boss pm = new Pm("pm");
            Boss hr = new Hr("hr");
            Boss manager = new Manager("manager");
            pm.Successor = hr;
            hr.Successor = manager;
            var pass = pm.PassRequest(request);
            Debug.WriteLine(pass);
        }
    }
}
